package com.toe.forum.webapi.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.toe.pojo.dto.forum.CategoryUpdateDTO;
import com.toe.pojo.entity.forum.ForumCategory;
import com.toe.pojo.vo.forum.CategoryVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;

/**
 * <p>
 * 文章分类表 Mapper 接口
 * </p>
 *
 * @author 陶涛
 * @since 2022-07-19
 */
@Repository
public interface ForumCategoryMapper extends BaseMapper<ForumCategory> {

    /**
     * 利用mybatis-plus添加文章分类
     * @param forumCategory
     * int insert(ForumCategory forumCategory);
     * @return
     */


    /***
     * 根据 ID 删除
     * @param id 主键ID
     *  int deleteById(Serializable id);
     * */

    /**
     * 传入categoryUpdateDTO,将里面的id作为修改条件,name作为修改参数
     * 根据文章分类id,修改文章分裂的values
     * @param categoryUpdateDTO
     * @return
     */
    int updateCategoryById(@Param("categoryUpdateDTO") CategoryUpdateDTO categoryUpdateDTO);

    /**
     * 查询所有的分类
     * @return List<CategoryVO>
     */
    List<CategoryVO> selectCategory();

    /**
     * 通过Id查询指定分类
     * @param id
     * @return
     */
    CategoryVO selectCategoryById(long id);

    /**
     * 根据分类名称获取分类
     * @param forumName
     * @return
     */
    CategoryVO selectCategoryByForumName(String forumName);
}